package partTwo;
//本类用于测试继承中构造方法的使用
/* 子类在创建对象时，默认会调用父类的构造方法
 *  原因是子类的构造中，第一行，默认存在super（）--表示调用父类的无参构造
 *  当父类没有无参构造时，可以通过super（“***”）--调用父类的其他构造
 *  不可以不调用父类的任何构造函数，必须选一个来调用
 * 构造方法不能被继承！因为语法的原因，构造方法是类名，子类里不能写一个父类名字的构造方法 */
public class TestExtends2 {
    public static void main(String[] args) {
        //6.创建子类对象
        son2 s = new son2();


    }
}
//1.定义父类
class father2 {
    //3.创建父类的无参构造
    public father2 (){
        System.out.println("我是父类无参");
    }
    //4.创建一个父类的含参构造，参数类型String
    public father2 (String s){

        System.out.println("我是父类含参"+s);
    }
}
//2.定义子类
class son2 extends father2{
    //5.创建子类的无参构造
    public son2 (){
        //super();  调用父类无参构造的功能，不显示，默认存在的，继承后一定会调用
        super("哈哈哈哈");
        System.out.println("我是子类的无参构造");
    }

}